//
//  MessagesViewController.m
//  MessagesExtension
//
//  Created by 张行 on 16/9/21.
//  Copyright © 2016年 张行. All rights reserved.
//

#import "MessagesViewController.h"
#import "MSMessageLayoutStyleViewController.h"

@interface MessagesViewController ()

@end

@implementation MessagesViewController
- (IBAction)sendTextMessage:(id)sender {
    [self.activeConversation insertText:@"Text Message" completionHandler:nil];
}

- (IBAction)sendUrlMessage:(id)sender {
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"eat" ofType:@"gif"]];
    MSSticker *sticker = [[MSSticker alloc] initWithContentsOfFileURL:url localizedDescription:@"Localized" error:nil];
    [self.activeConversation insertSticker:sticker completionHandler:nil];
}
- (IBAction)sendVideoMessage:(id)sender {
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"video" ofType:@"mov"]];
    [self.activeConversation insertAttachment:url withAlternateFilename:nil completionHandler:nil];
}


- (void)viewDidLoad {
    [super viewDidLoad];
    [self requestPresentationStyle:MSMessagesAppPresentationStyleExpanded];
    // Do any additional setup after loading the view.
}




- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if (segue.sourceViewController == self && [segue.destinationViewController isKindOfClass:[MSMessageLayoutStyleViewController class]]) {
        MSMessageLayoutStyleViewController *vc = segue.destinationViewController;
        vc.messageViewController = self;
    }
}

#pragma mark - Conversation Handling

-(void)didBecomeActiveWithConversation:(MSConversation *)conversation {
    // Called when the extension is about to move from the inactive to active state.
    // This will happen when the extension is about to present UI.
    
    // Use this method to configure the extension and restore previously stored state.
}

-(void)willResignActiveWithConversation:(MSConversation *)conversation {
    // Called when the extension is about to move from the active to inactive state.
    // This will happen when the user dissmises the extension, changes to a different
    // conversation or quits Messages.
    
    // Use this method to release shared resources, save user data, invalidate timers,
    // and store enough state information to restore your extension to its current state
    // in case it is terminated later.
}

-(void)didReceiveMessage:(MSMessage *)message conversation:(MSConversation *)conversation {
    // Called when a message arrives that was generated by another instance of this
    // extension on a remote device.
    
    // Use this method to trigger UI updates in response to the message.
}

-(void)didStartSendingMessage:(MSMessage *)message conversation:(MSConversation *)conversation {
    // Called when the user taps the send button.
}

-(void)didCancelSendingMessage:(MSMessage *)message conversation:(MSConversation *)conversation {
    // Called when the user deletes the message without sending it.
    
    // Use this to clean up state related to the deleted message.
}

-(void)willTransitionToPresentationStyle:(MSMessagesAppPresentationStyle)presentationStyle {
    // Called before the extension transitions to a new presentation style.
    
    // Use this method to prepare for the change in presentation style.
}

-(void)didTransitionToPresentationStyle:(MSMessagesAppPresentationStyle)presentationStyle {
    // Called after the extension transitions to a new presentation style.
    
    // Use this method to finalize any behaviors associated with the change in presentation style.
}



@end
